﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DADOS.usuario;

namespace PROAD.atendimento.Forms
{
    public partial class FormClassificacaoFinal : System.Web.UI.Page
    {
        DADOS.usuario.metClassifica metClass = new metClassifica();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Session["CO_USUARIO"] != null)
                {
                    lblUsurario.Text = "Nome do Paciente: " + Session["NO_NOME"];
                    MontarTela(Convert.ToInt32(Session["CO_USUARIO"]));
                }
            }
        }
        protected void rtsDadoPaciente_TabClick(object sender, Telerik.Web.UI.RadTabStripEventArgs e)
        {
            if (e.Tab.TabIndex == 0)
            {
                Response.Redirect("/atendimento/Consulta/ConsultaDadosPaciente.aspx");
            }
            if (e.Tab.TabIndex == 2)
            {
                var metUsuario = new DADOS.usuario.metPaciente();
                if (metUsuario.LiberarGestaoCuidado(Convert.ToInt32(Session["CO_USUARIO"])))
                {
                    Response.Redirect("/atendimento/Forms/FormGestaoCuidados.aspx");
                }
                else
                {
                    txtTituloMsn.Text = "Alerta";
                    txtTextoMsn.Text = "Etapa diagnostica não está completa!";
                    ModalPopupMsn.Show();
                }
            }
        }
        protected void rdsEtapa_TabClick(object sender, Telerik.Web.UI.RadTabStripEventArgs e)
        {
            switch (e.Tab.TabIndex)
            {
                case 3:
                    Response.Redirect("/atendimento/Forms/EtapaPreditivaAnamnese.aspx");
                    break;
                case 4:
                    Response.Redirect("/atendimento/Forms/FormAvd.aspx");
                    break;
                case 5:
                    Response.Redirect("/atendimento/Forms/FormSocioEconomico.aspx");
                    break;

            }

        }

        private void MontarTela(int codUser)
        {
            var objClassifica = metClass.GetClassificacaoByCodUsuario(codUser);

            if (objClassifica != null)
            {
                chkAd1_01.Checked = objClassifica.NR_AD1_1 == 1;
                chkAd1_01.Enabled = false;
                chkAd1_02.Checked = objClassifica.NR_AD1_2 == 1;
                chkAd1_02.Enabled = false;
                chkAd1_03.Checked = objClassifica.NR_AD1_3 == 1;
                chkAd1_03.Enabled = false;

                ckbModAd2_01.Checked = objClassifica.NR_AD2_1 == 1;
                ckbModAd2_01.Enabled = false;
                ckbModAd2_02.Checked = objClassifica.NR_AD2_2 == 1;
                ckbModAd2_02.Enabled = false;
                ckbModAd2_03.Checked = objClassifica.NR_AD2_3 == 1;
                ckbModAd2_03.Enabled = false;
                ckbModAd2_04.Checked = objClassifica.NR_AD2_4 == 1;
                ckbModAd2_04.Enabled = false;
                ckbModAd2_05.Checked = objClassifica.NR_AD2_5 == 1;
                ckbModAd2_05.Enabled = false;
                ckbModAd2_06.Checked = objClassifica.NR_AD2_6 == 1;
                ckbModAd2_06.Enabled = false;
                ckbModAd2_07.Checked = objClassifica.NR_AD2_7 == 1;
                ckbModAd2_07.Enabled = false;
                ckbModAd2_08.Checked = objClassifica.NR_AD2_8 == 1;
                ckbModAd2_08.Enabled = false;
                ckbModAd2_09.Checked = objClassifica.NR_AD2_9 == 1;
                ckbModAd2_09.Enabled = false;
                ckbModAd2_10.Checked = objClassifica.NR_AD2_10 == 1;
                ckbModAd2_10.Enabled = false;
                ckbModAd2_11.Checked = objClassifica.NR_AD2_11 == 1;
                ckbModAd2_11.Enabled = false;
                ckbModAd2_12.Checked = objClassifica.NR_AD2_12 == 1;
                ckbModAd2_12.Enabled = false;
                ckbModAd2_13.Checked = objClassifica.NR_AD2_13 == 1;
                ckbModAd2_13.Enabled = false;
                ckbModAd2_14.Checked = objClassifica.NR_AD2_14 == 1;
                ckbModAd2_14.Enabled = false;

                ckbAd3_01.Checked = objClassifica.NR_AD3_1 == 1;
                ckbAd3_01.Enabled = false;
                ckbAd3_02.Checked = objClassifica.NR_AD3_2 == 1;
                ckbAd3_02.Enabled = false;
                ckbAd3_03.Checked = objClassifica.NR_AD3_3 == 1;
                ckbAd3_03.Enabled = false;

                lblMsn.Text = "Para alteração na classificação, acesse Gestão do Cuidado.";

                btnSalvar.Visible = false;
            }
            

        }

        protected DADOS.TB_CLASSIFICACAO_FINAL MontarObjeto()
        {
            var objClassifica = new DADOS.TB_CLASSIFICACAO_FINAL();

            objClassifica.CO_PROFISSIONAL = Convert.ToInt32(Session["CO_PROFISSIONAL"]);
            objClassifica.CO_USUARIO = Convert.ToInt32(Session["CO_USUARIO"]);
            objClassifica.DT_INCLUSAO = DateTime.Now;
            objClassifica.NR_AD1_1 = chkAd1_01.Checked ? 1 : 0;
            objClassifica.NR_AD1_2 = chkAd1_02.Checked ? 1 : 0;
            objClassifica.NR_AD1_3 = chkAd1_03.Checked ? 1 : 0;

            objClassifica.NR_AD2_1 = ckbModAd2_01.Checked ? 1 : 0;
            objClassifica.NR_AD2_2 = ckbModAd2_02.Checked ? 1 : 0;
            objClassifica.NR_AD2_3 = ckbModAd2_03.Checked ? 1 : 0;
            objClassifica.NR_AD2_4 = ckbModAd2_04.Checked ? 1 : 0;
            objClassifica.NR_AD2_5 = ckbModAd2_05.Checked ? 1 : 0;
            objClassifica.NR_AD2_6 = ckbModAd2_06.Checked ? 1 : 0;
            objClassifica.NR_AD2_7 = ckbModAd2_07.Checked ? 1 : 0;
            objClassifica.NR_AD2_8 = ckbModAd2_08.Checked ? 1 : 0;
            objClassifica.NR_AD2_9 = ckbModAd2_09.Checked ? 1 : 0;
            objClassifica.NR_AD2_10 = ckbModAd2_10.Checked ? 1 : 0;
            objClassifica.NR_AD2_11 = ckbModAd2_11.Checked ? 1 : 0;
            objClassifica.NR_AD2_12 = ckbModAd2_12.Checked ? 1 : 0;
            objClassifica.NR_AD2_13 = ckbModAd2_13.Checked ? 1 : 0;
            objClassifica.NR_AD2_14 = ckbModAd2_14.Checked ? 1 : 0;

            objClassifica.NR_AD3_1 = ckbAd3_01.Checked ? 1 : 0;
            objClassifica.NR_AD3_2 = ckbAd3_02.Checked ? 1 : 0;
            objClassifica.NR_AD3_3 = ckbAd3_03.Checked ? 1 : 0;

            return objClassifica;
        }

        private bool ValidarForm()
        {
            if (!chkAd1_01.Checked && !chkAd1_02.Checked && !chkAd1_03.Checked &&
                !ckbModAd2_01.Checked && !ckbModAd2_02.Checked && !ckbModAd2_03.Checked &&
                !ckbModAd2_04.Checked && !ckbModAd2_05.Checked && !ckbModAd2_06.Checked && 
                !ckbModAd2_07.Checked && !ckbModAd2_08.Checked && !ckbModAd2_09.Checked && 
                !ckbModAd2_10.Checked && !ckbModAd2_11.Checked && !ckbModAd2_12.Checked && 
                !ckbModAd2_13.Checked && !ckbModAd2_14.Checked && !ckbAd3_01.Checked && !ckbAd3_02.Checked && !ckbAd3_03.Checked)
            {
                txtTituloMsn.Text = "ALERTA";
                txtTextoMsn.Text = "É necessario marcar pelos menos uma opção.";
                ModalPopupMsn.Show();
                return false;
            }
            
            return true;
        }

        protected void btnSalvar_Click(object sender, EventArgs e)
        {

            if(ValidarForm())
            {
                try
                {
                    metClass.Incluir(MontarObjeto());
                    txtTituloMsn.Text = "ALERTA";
                    txtTextoMsn.Text = "Dados gravados com sucesso.";
                    ModalPopupMsn.Show();
                    MontarTela(Convert.ToInt32(Session["CO_USUARIO"]));
                }
                catch (Exception)
                {
                   txtTituloMsn.Text = "ALERTA";
                    txtTextoMsn.Text = "Dados não gravados, tente mais tarde.";
                    ModalPopupMsn.Show();
                }
            }
        }
    }
}